# 字符串
# 有单引号,双引号,还可以是三引号,三个引号可以支持换行
str1 = """111111
2222 
333"""
print(str1)

c = 'I\'m Tom '
print(c)
c = "I'm Tom "
print(c)

# 字符串输出
tom = "Tom"
print("这个是%s" % tom)
print(f'这个是{tom}')
# 字符串输⼊,已经会了

# 下标,索引
arr = '0123456789'
c = arr[3]
print(arr[4])
print(arr[5])

# 字符串,列表,元组都支持切片,都是[start,end),取值可以为负数,懂怎么看的就行
# 还有步长,步长可以负数,反方向就行了
print('==============切片操作===========')
arr = '0123456789'
sub_arr = arr[0:4]
print(sub_arr)
sub_arr1 = arr[5:8]
print(sub_arr1)
# 步长为2
sub_arr2 = arr[::2]
print(sub_arr2)
# 看看全部是怎样的
sub_arr3 = arr[:]
print(sub_arr3)
sub_arr3 = arr[:-1]
print(sub_arr3)
sub_arr3 = arr[::-1]
print(sub_arr3)
sub_arr3 = arr[::-2]
print(sub_arr3)
sub_arr3 = arr[-4:-1]
print(sub_arr3)

print('==============常用方法===========')
mystr = "hello word and itcast and itheima and python"
print('=========查询 find ,index,count ,rfind,rindex============')
# find 查找子字符串出现的下标
has = "这是一个寂寞的一个天".find("一个", 0, 10)
print(has)
has = "这是一个寂寞的天".find("两个", 0, 4)
print(has)

print(mystr.find('and'))
print(mystr.find('and', 15, 30))
print(mystr.find('ands'))
# index 开始和结束下标可以省略,返回下标,没有就报错
print(mystr.index('and'))
# print(mystr.index('ands'))
print(mystr.index('and'))

print("------------------count---------------")
print(mystr.count('and'))
print("------------------rfind 从右边,也就是字符串尾部开始查询---------------")
print(mystr.rfind('and', 15))
print("------------------rindex 从右边开始,也就是字符串尾部开始---------------")
print(mystr.rindex('and', 15, 30))

print('=========修改 replace,split,join,比较多就不用一个个说了============')
# 修改,
# 字符串是不可以变类型,
mystr = "hello word and itcast and itheima and python"
# 不是开始下标,而是替换次数,如果查出⼦串出现次数，则替换次数为该⼦串出现次数。
new_str = mystr.replace('and', 'new', 1)
print(new_str)
new_str = mystr.replace('and', 'new')
print(new_str)
print("------------------split,有分割的字符串和分割的次数,也就是,号的多少,当然数字过大,就正常分组---------------")
# 
arr = mystr.split(' ', 10)
print(arr)
print('------------------join 这个是分隔符调用的函数----------------------')
arr = mystr.split(' ')
print(arr)
new_str = '    '.join(arr)
print(new_str)
new_str2 = "....".join(('10', '20', '30'))
print(new_str2)
print('----------------capitalize()：将字符串第⼀个字符转换成⼤写。------------------------')
print(mystr.capitalize())

print('------------title() 把字符串中的每个单词的首字母都转成大写----------------------------')
print(mystr.title())
print('--------------lower() 把字符串中的大写改成小写--------------------------')
print(mystr.title().lower())
print('---------------upper 把字符串中的小写改成大写-------------------------')
print(mystr.upper())
print('-----------------lstrip 删除字符串左侧的空白字符-----------------------')
print(" 的地方了手动阀".lstrip())
print('------------------rstrip 删除字符串右侧的空白字符----------------------')
print('是电脑放到输入法   '.rstrip())
print('--------------------strip 删除字符串左右的空白字符--------------------')
print('   左右边空白  '.strip())
print('-----------------ljust 返回源字符串左对齐,填充字符串到指定长度-----------------------')

str3 = 'abc'.ljust(10, '.')
print(str3)
print('------------------rjust 返回源字符串右对齐,填充字符串到指定长度----------------------')
str3 = 'abc'.rjust(10, '.')
print(str3)
print('---------- center 源字符串居中对齐,左右两边分别条虫字符串,填充到指定长度------------------------------')
str3 = 'abc'.center(6, '.')
print(str3)
print('-------------判断---------------------------')

mystr = "hello word and itcast and itheima and python"

print('-------------startswith 是否以指定字符串开头---------------------------')
print(mystr.startswith("hello"))
print(mystr.startswith("and", 11, 20))
print('-------------endswith 是否以指定字符串开头---------------------------')
print(mystr.endswith('python'))
print(mystr.index('and'))
print(mystr.endswith('and', 11, 14))
print('-------------isalpha() 字符串至少有一个字符,并且所有的字符都是字母,则返回True,否则返回false---------------------------')

print("mystr".isalpha())
print("mystr  ".isalpha())# 有些不是字母

print('------------------isdigit() 如果字符串只包含数字,就返回True,否则返回false----------------------')
print("111".isdigit())
print("111bb".isdigit())
print('----------------isalnum() 如果字符串至少有一个字符(可以纯数字,字母,也可以是混合),并且所有字符都是字母或者数字,就返回True,否则False------------------------')
print("sldlfs11".isalnum())
print("sldlfs".isalnum())
print("111".isalnum())
print("111bb-".isalnum())
print('---------------isspace() 如果字符串中只包含空白,就返回True,否则false-------------------------')
mystr='1 2 3 4 5'
print(mystr.isspace())
print("dlfdslfsdlaf".isspace())
print("    ".isspace())
print()
print('----------------------------------------')
print('----------------------------------------')
print('----------------------------------------')

# 
if __name__ == '__main__':
    pass
